package com.swkl.yuan.agvtask.dataController;

import lombok.Data;

import java.io.Serializable;

/**
 * 返回 json 实体类
 */
@Data
public class JsonData implements Serializable {

    private boolean ret;

    private String msg;

    private Object data;

    private Integer code;

    public JsonData(boolean ret) {
        this.ret = ret;
    }

    public static JsonData success(Object object, String msg) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.msg = msg;
        jsonData.code = 200;
        return jsonData;
    }

    public static JsonData success(Object object, Integer code) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.msg = "请求成功";
        jsonData.code = code;
        return jsonData;
    }

    public static JsonData success(Integer code, String msg) {
        JsonData jsonData = new JsonData(true);
        jsonData.msg = msg;
        jsonData.code = code;
        return jsonData;
    }

    public static JsonData success(Object object, String msg, Integer code) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.msg = msg;
        jsonData.code = code;
        return jsonData;
    }

    public static JsonData success(Object object) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.msg = "请求成功";
        jsonData.code = 200;
        return jsonData;
    }

    public static JsonData success(String msg) {
        JsonData jsonData = new JsonData(true);
        jsonData.msg = msg;
        jsonData.code = 200;
        return jsonData;
    }

    public static JsonData result(Boolean bool) {
        if (bool) {
            return success();
        }else{
            return fail("请到日志内查看详情");
        }
    }

    public static JsonData success() {
        JsonData jsonData = new JsonData(true);
        jsonData.msg = "请求成功";
        jsonData.code = 200;
        return jsonData;

    }

    public static JsonData fail(String msg) {
        JsonData jsonData = new JsonData(false);
        jsonData.msg = msg;
        jsonData.code = 500;
        return jsonData;
    }

    public static JsonData noAuth() {
        JsonData jsonData = new JsonData(false);
        jsonData.msg = "无权限";
        jsonData.code = 407;
        return jsonData;
    }


}
